package com.lex;
public enum TokenType {
    // 关键字
    ABSTRACT, // abstract
    ASSERT, // assert
    BOOLEAN, // boolean
    BREAK, // break
    BYTE, // byte
    CASE, // case
    CATCH, // catch
    CHAR, // char
    CLASS, // class
    // 关键字
    CONST, // const
    CONTINUE, // continue
    DEFAULT, // default
    DO, // do
    DOUBLE, // double
    ELSE, // else
    ENUM, // enum
    EXTENDS, // extends
    FALSE, // false
    FINAL, // final
    FINALLY, // finally
    FLOAT, // float
    FOR, // for
    GOTO, // goto
    IF, // if
    IMPLEMENTS, // implements
    IMPORT, // import
    INSTANCEOF, // instanceof
    INT, // int
    INTERFACE, // interface
    LONG, // long
    NATIVE, // native
    NEW, // new
    NULL, // null
    PACKAGE, // package
    PRIVATE, // private
    PROTECTED, // protected
    PUBLIC, // public
    RETURN, // return
    SHORT, // short
    STATIC, // static
    STRICTFP, // strictfp
    SUPER, // super
    SWITCH, // switch
    SYNCHRONIZED, // synchronized
    THIS, // this
    THROW, // throw
    THROWS, // throws
    TRANSIENT, // transient
    TRUE, // true
    TRY, // try
    VOID, // void
    VOLATILE, // volatile
    WHILE, // while

    // 标识符和字面量
    IDENTIFIER, // variableName
    // 标识符和字面量
    INTEGER_LITERAL, // 123
    LONG_LITERAL, // 123L
    FLOAT_LITERAL, // 3.14f
    DOUBLE_LITERAL, // 3.14d
    CHARACTER_LITERAL, // 'a'
    STRING_LITERAL, // "hello world"
    BOOLEAN_LITERAL, // true/false

    // 运算符
    PLUS, // +
    MINUS, // -
    STAR, // *
    SLASH, // /
    PERCENT, // %
    CARET, // ^
    AMPERSAND, // &
    PIPE, // |
    TILDE, // ~
    EXCLAMATION, // !
    QUESTION, // ?
    COLON, // :
    DOUBLE_COLON, // ::
    EQUAL, // =
    PLUS_EQUAL, // +=
    MINUS_EQUAL, // -=
    STAR_EQUAL, // *=
    SLASH_EQUAL, // /=
    PERCENT_EQUAL, // %=
    CARET_EQUAL, // ^=
    AMPERSAND_EQUAL, // &=
    PIPE_EQUAL, // |=
    DOUBLE_PLUS, // ++
    DOUBLE_MINUS, // --
    EQUAL_EQUAL, // ==
    NOT_EQUAL, // !=
    LESS, // <
    LESS_EQUAL, // <=
    GREATER, // >
    GREATER_EQUAL, // >=
    LEFT_SHIFT, // <<
    RIGHT_SHIFT, // >>
    UNSIGNED_RIGHT_SHIFT, // >>>
    LEFT_SHIFT_EQUAL, // <<=
    RIGHT_SHIFT_EQUAL, // >>=
    UNSIGNED_RIGHT_SHIFT_EQUAL, // >>>=

    // 分隔符
    LEFT_PAREN, // (
    RIGHT_PAREN, // )
    LEFT_BRACE, // {
    RIGHT_BRACE, // }
    LEFT_BRACKET, // [
    RIGHT_BRACKET, // ]
    COMMA, // ,
    DOT, // .
    SEMICOLON, // ;
    ARROW, // ->

    // 其他
    AT, // @
    ELLIPSIS, // ...
    COMMENTS, // 注释
    EOF, // end of file
}

